CAN Busoff原理/快慢恢复介绍以及利用Vector VH6501 CAN干扰仪经典CAN2.0/CANFD帧触发Busoff | 您所在的位置:网站首页 › uart bus off总线关闭 › CAN Busoff原理/快慢恢复介绍以及利用Vector VH6501 CAN干扰仪经典CAN2.0/CANFD帧触发Busoff |
目录 一、什么是CAN Busoff和快慢恢复的介绍 二、利用VH6501 CAN Disturbance Interface触发经典CAN2.0帧 Busoff 三、利用VH6501 CAN Disturbance Interface触发CANFD帧 Busoff 四、结尾 CANFD/经典CAN2.0/CANXL相关知识点链接: 《CANFD/经典CAN/CANXL》专栏 在《ISO 11898-Part 1-Data link layer and physical signalling-2015.12.15》中有对CAN Busoff进行描述,如下图: “如果节点的传输错误计数器(TEC:transmit error counter)大于255(8位发送错误计数器时的进位条件),那么管理者应请求物理层将节点设置为Busoff状态。 处于Busoff状态的节点对总线没有影响。 它不应发送任何帧,也不应确认数据帧或远程帧。这样的节点是否接受来自总线的数据帧取决于实现。 在重新启动请求后,处于Busoff状态的节点应集成到CAN通信中(请参见10.9.4),并且在监视总线上128个空闲情况的发生后,其错误计数器都将置为零,变为错误节点(请参见图28)。” 通俗地说: ECU一直在往CAN总线上发送CAN报文,但不知道什么原因一直发送不出去,如果这个发送错误计数累计到255( ECU发送失败:发送错误计数 + 8, ECU发送成功:发送错误计数 - 1),ECU进入Busoff模式。ECU在Busoff期间不妨碍总线上的其它节点。 一些主机厂对其系统供应商的设备提出了相应的Busoff后恢复时间需求。例如:当ECU 进入Busoff 模式后,首先,ECU 执行快恢复模式,连续n次(TBD值,不同厂商次数要求不一样)快速恢复后,ECU 进入慢恢复模式。 注:所谓的快慢恢复,即进入CAN BUSOFF状态后,ECU重新初始化CAN模块,并等待t(tBusOffQuick 或 tBusOffSlow)后,重新使能总线报文的发送。如果报文发送成功,则CAN BUSOFF恢复成功。 当ECU进入Busoff状态后,因为接收不到其它ECU(相关ECU:至少从该节点接收一条报文)的报文,会产生超时错误,故此时应只存储bus-off故障,不应存储其他ECU的报文超时故障。在ECU从Busoff状态恢复后,立即重新启动报文超时监测功能。 二、利用VH6501 CAN Disturbance Interface触发经典CAN2.0帧 BusoffBusOff所需的测试环境: 硬件工具VH6501 CAN Disturbance Interface(CAN干扰仪);上位机软件CANoe 11.0.55 SP2。本次VH6501 CAN Disturbance Interface(CAN干扰仪)的操作手册以CANoe 11.0.55 SP2中的Demo为例,进行的busoff测试,具体操作步骤如下: 步骤一:打开“Disturbance(CAN)”的DEMO,如下图所示: 步骤二:通道配置。VH6501需要与真实ECU连接,并且ECU所在CAN网络中需要有终端电阻: 步骤三:确认连接的通道信息,然后点击Start开始运行,此时trace窗口是正确的报文。 步骤四:通过Panel打开MainConfigPanel面板。 步骤五:点击MainConfigPanel面板中的Trigger Configuration打开对应如下的配置面板TriggerConfigurationPanel,选择触发位置AckSlot,并且针对特定帧(以Trace中的CAN ID:0x305为例)触发Busoff。 修改前: 修改后: CurrentTriggerField填AckSlot;TriggerOffset填0;IDBase填CAN2.0标准帧ID的11位二进制(如果不满11个二进制数,高位补0,凑齐11个二进制数,例如这里的0x305,其二进制等于01100000101)。 步骤六:点击MainConfigPanel面板中的Sequence Configuration打开对应如下的配置面板SequencePanel,配置显性/隐性干扰。
修改前: 修改后: 在面板SequencePanel中,Segment value选择Dominant,勾选Arbitration Bit Timing Information,单击Add Segment。 步骤七:回到MainConfigPanel面板,CANoe软件运行时,配置面板中干扰的次数和循环次数。 修改前: 修改后: 如果进行多次Bus off测试,Cycles填写多个cycle,Repetiions中填写干扰次数为固定的32次(干扰一次,也就是干扰一个cycle,ECU的TEC累加8,在连续32次干扰之后,TEC的值为256,ECU便会进入bus off。) 注意: Repetiions一般默认设置为32; Cycles表示Busoff的次数,对应Autosar的CANSM模块中的CanSMBorCounterL1ToL2,根据实际的项目需求选定,Cycles中设定的值小于CanSMBorCounterL1ToL2,触发对应节点的通信快恢复;而Cycles中设定的值大于等于CanSMBorCounterL1ToL2,触发对应节点的通信慢恢复。在CANSM模块中也定义了快恢复时间CanSMBorTimeL1 和慢恢复时间CanSMBorTimeL2时间参数,这三个参数根据实际的项目需求选定。 步骤八:点击面板中的Enable On Device,启动Busoff测试。 如果ECU设置的快慢恢复比较长,CAN干扰仪干扰后,在Trace窗口中,你会看到对应的Busoff ECU所有发送的报文变灰色,说明停止了发送报文。 第二章节中,提到通过干扰经典CAN2.0标准帧报文的Ack Slot位来实现Bus off测试。 而在CAN FD中,如果干扰Ack Slot位,干扰的结果是两个连续的显性位,但在CAN FD中,两个显性位会被认为是有效的Ack,这就导致上述方法干扰不到Ack Slot位。 在这种情况下,建议干扰Ack delimiter位。CurrentTriggerField填Ack delimiter,TriggerOffset填0。如下图是干扰一个CANFD标准帧ID:0x305,其它部分的设置与第二章节相同。 四、结尾 获取更多“汽车电子资讯”和“工具链使用”, 请关注“汽车电子助手”(CSDN和微信公众号同名),做您的好助手。 |
CopyRight 2018-2019 实验室设备网 版权所有 |